SCREEN 1,640,250,4,2 WINDOW 2," BOX CALC DEMO",,0,1 GOSUB LOADCOLOURS GOSUB SCREENSETUP GOSUB WAITFOREND SYSTEM WAITFOREND: xs =195:xe=424:ys=187:ye=203:fillcol=12:olcol=2:GOSUB RAISED LOCATE 25,27: COLOR 5,fillcol:PRINT "Press any key to exit demo" A$="" WHILE A$= "" A$ = INKEY$ WEND RETURN LOADCOLOURS: OPEN "BasicUtils&Subs:SetupFiles/Colours" FOR INPUT AS #1 FOR i = 0 TO 15 INPUT #1,A,b,c,c$ PALETTE i,A,b,c NEXT i CLOSE RETURN SCREENSETUP: xs=3:ys=3:xe=627:ye=234:olcol=4:fillcol=0:GOSUB RAISED bgcol=2:fillcol=6 COLOR 0,fillcol linex$="Base Box" xloc = 30:yloc=4:GOSUB BASECALC GOSUB RAISED COLOR 0,fillcol LOCATE yloc,xloc:PRINT linex$ linex$="Small Box" xloc = 30:yloc=8:GOSUB BASECALC :GOSUB SMALLBOX GOSUB RAISED COLOR 0,fillcol LOCATE yloc,xloc:PRINT linex$ linex$="Medium Box" xloc = 30:yloc=14:GOSUB BASECALC :GOSUB MEDIUMBOX GOSUB RAISED COLOR 0,fillcol LOCATE yloc,xloc:PRINT linex$ linex$="Large Box" xloc = 30:yloc=20:GOSUB BASECALC :GOSUB LARGEBOX GOSUB RAISED COLOR 0,fillcol LOCATE yloc,xloc:PRINT linex$ linex$="Odd Size Box":xoffset=48:yoffset=6 xloc = 55:yloc=6:GOSUB BASECALC: GOSUB BOXCALC GOSUB RAISED COLOR 0,fillcol LOCATE yloc,xloc:PRINT linex$ RETURN BASECALC: linelen =LEN(linex$) xs=(xloc*8)-13:ys=(yloc*8)-11 xe=((xloc+linelen)*8)-5:ye=(yloc*8) +1 RETURN SMALLBOX: xoffset=8:yoffset=4 GOSUB BOXCALC RETURN MEDIUMBOX: xoffset=16:yoffset=8 GOSUB BOXCALC RETURN LARGEBOX: xoffset=24:yoffset=12 GOSUB BOXCALC RETURN BOXCALC: xs=xs-xoffset:ys=ys-yoffset xe=xe+xoffset:ye=ye+yoffset RETURN RAISED: COLOR olcol LINE (xs,ys)-(xe,ye),,b LINE (xs-4,ys-2)-(xe+4,ye+2),,b LINE (xs-2,ys-1)-(xe+2,ye+1),,b GOSUB FILLBOX RETURN FILLBOX: COLOR fillcol LINE (xs+1,ys+1)-(xe-1,ye-1),,b PAINT ((xs+xe)/2,(ys+ye)/2) RETURN